interface Res{
    msg:string;
    code:number
}
let obj1:Partial<Res>={ }
interface Data{
    id?:number;
    name?:string
}
let obj2:Required<Data>={
    id:1,
    name:"zzz"
}
let obj3:Readonly<Data>={
    id:1,
    name:"zzk"
}
// obj3.name="zzz";
type carType='BWM'|'BYD'|'HongQi'
interface carInfo{
    price:number
    color:string
}
const cars:Record<carType,carInfo>={
    BWM:{price:300000,color:'white'},
    BYD:{price:500000,color:'pink'},
    HongQi:{price:700000,color:'black'},
}
interface IResponse<T=any>{
    msg:string
    code:number
    data:T
}
let loginRes:Pick<IResponse,'msg'|'code'>={
    msg:"success",
    code:200
}
let myData:Omit<IResponse,'msg'|'code'>={
    data:"no data"
}
type A='a'|'b'|'c'
type B='b'|'c'
type aMinusb=Exclude<A,B>
type excl=Exclude<string|number|(()=>void),Function>
export default {}